home *** CD-ROM | disk | FTP | other *** search
- dnl $Id: compare.m4,v 1.2 2003/12/14 11:53:04 murrayc Exp $
-
- define(`__OPERATOR_DECL',`dnl
- /** @relates __NAMESPACE__::__CPPNAME__
- * @param lhs The left-hand side
- * @param rhs The right-hand side
- * @result The result
- */
- bool operator`'$1`'(const __CPPNAME__& lhs, const __CPPNAME__& rhs);
- ')
-
- define(`__OPERATOR_IMPL',`dnl
- bool operator`'$1`'(const __CPPNAME__& lhs, const __CPPNAME__& rhs)
- {'
- ifelse`'(`__UNCONST__',`unconst',`dnl
- return ($2`'(const_cast<__CNAME__*>(lhs.gobj()), const_cast<__CNAME__*>(rhs.gobj())) $3);
- ',`dnl else
- return ($2`'(lhs.gobj(), rhs.gobj()) $3);
- ')`dnl endif
- }
- ')
-
-
- dnl
- dnl _WRAP_EQUAL(gdk_region_equal, unconst)
- dnl
- define(`_WRAP_EQUAL',`dnl
- pushdef(`__FUNC_EQUAL__',$1)dnl
- pushdef(`__UNCONST__',$2)dnl
- _PUSH(SECTION_HEADER3)
-
- __NAMESPACE_BEGIN__
-
- __OPERATOR_DECL(`==')
- __OPERATOR_DECL(`!=')
-
- __NAMESPACE_END__
-
- _SECTION(SECTION_CC)
-
- __OPERATOR_IMPL(`==', __FUNC_EQUAL__, `!= 0')
- __OPERATOR_IMPL(`!=', __FUNC_EQUAL__, `== 0')
-
- _POP()
- popdef(`__UNCONST__')dnl
- popdef(`__FUNC_EQUAL__')dnl
- ')dnl enddef _WRAP_EQUAL
-
-
- dnl
- dnl _WRAP_COMPARE(gtk_tree_path_compare)
- dnl
- define(`_WRAP_COMPARE',`dnl
- pushdef(`__FUNC_COMPARE__',$1)dnl
- pushdef(`__UNCONST__',$2)dnl
- _PUSH(SECTION_HEADER3)
-
- __NAMESPACE_BEGIN__
-
- __OPERATOR_DECL(`==')
- __OPERATOR_DECL(`!=')
- __OPERATOR_DECL(`<')
- __OPERATOR_DECL(`>')
- __OPERATOR_DECL(`<=')
- __OPERATOR_DECL(`>=')
-
- __NAMESPACE_END__
-
- _SECTION(SECTION_CC)
-
- __OPERATOR_IMPL(`==', __FUNC_COMPARE__, `== 0')
- __OPERATOR_IMPL(`!=', __FUNC_COMPARE__, `!= 0')
- __OPERATOR_IMPL(`<', __FUNC_COMPARE__, `< 0')
- __OPERATOR_IMPL(`>', __FUNC_COMPARE__, `> 0')
- __OPERATOR_IMPL(`<=', __FUNC_COMPARE__, `<= 0')
- __OPERATOR_IMPL(`>=', __FUNC_COMPARE__, `>= 0')
-
- _POP()
- popdef(`__UNCONST__')dnl
- popdef(`__FUNC_COMPARE__')dnl
- ')dnl enddef _WRAP_COMPARE
-
-
- dnl
- dnl _WRAP_EQUAL_AND_COMPARE(gtk_text_iter_equal, gtk_text_iter_compare)
- dnl
- define(`_WRAP_EQUAL_AND_COMPARE',`dnl
- pushdef(`__FUNC_EQUAL__',$1)dnl
- pushdef(`__FUNC_COMPARE__',$2)dnl
- pushdef(`__UNCONST__',$3)dnl
- _PUSH(SECTION_HEADER3)
-
- __NAMESPACE_BEGIN__
-
- __OPERATOR_DECL(`==')
- __OPERATOR_DECL(`!=')
- __OPERATOR_DECL(`<')
- __OPERATOR_DECL(`>')
- __OPERATOR_DECL(`<=')
- __OPERATOR_DECL(`>=')
-
- __NAMESPACE_END__
-
- _SECTION(SECTION_CC)
-
- __OPERATOR_IMPL(`==', __FUNC_EQUAL__, `!= 0')
- __OPERATOR_IMPL(`!=', __FUNC_EQUAL__, `== 0')
- __OPERATOR_IMPL(`<', __FUNC_COMPARE__, `< 0')
- __OPERATOR_IMPL(`>', __FUNC_COMPARE__, `> 0')
- __OPERATOR_IMPL(`<=', __FUNC_COMPARE__, `<= 0')
- __OPERATOR_IMPL(`>=', __FUNC_COMPARE__, `>= 0')
-
- _POP()
- popdef(`__UNCONST__')dnl
- popdef(`__FUNC_COMPARE__')dnl
- popdef(`__FUNC_EQUAL__')dnl
- ')dnl enddef _WRAP_EQUAL_AND_COMPARE
-
-